<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

                    <h4>输入和输出</h4>
                    <div class="x-wiki-info"><span>5905次阅读</span></div>
                    <hr style="border-top-color:#ccc" />
                    <div class="x-wiki-content x-content"><h3 id="-">输出</h3>
<p>用<code>print</code>加上字符串，就可以向屏幕上输出指定的文字。比如输出<code>&#39;hello, world&#39;</code>，用代码实现如下：</p>
<pre><code>&gt;&gt;&gt; print &#39;hello, world&#39;
</code></pre><p><code>print</code>语句也可以跟上多个字符串，用逗号“,”隔开，就可以连成一串输出：</p>
<pre><code>&gt;&gt;&gt; print &#39;The quick brown fox&#39;, &#39;jumps over&#39;, &#39;the lazy dog&#39;
The quick brown fox jumps over the lazy dog
</code></pre><p><code>print</code>会依次打印每个字符串，遇到逗号“,”会输出一个空格，因此，输出的字符串是这样拼起来的：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001387105931284e8f62577e11647c899505d8eb8d09c7d000/0" alt="print-howto"></p>
<p><code>print</code>也可以打印整数，或者计算结果：</p>
<pre><code>&gt;&gt;&gt; print 300
300
&gt;&gt;&gt; print 100 + 200
300
</code></pre><p>因此，我们可以把计算<code>100 + 200</code>的结果打印得更漂亮一点：</p>
<pre><code>&gt;&gt;&gt; print &#39;100 + 200 =&#39;, 100 + 200
100 + 200 = 300
</code></pre><p>注意，对于<code>100 + 200</code>，Python解释器自动计算出结果<code>300</code>，但是，&#39;100 + 200 =&#39;是字符串而非数学公式，Python把它视为字符串，请自行解释上述打印结果。</p>
<h3 id="-">输入</h3>
<p>现在，你已经可以用<code>print</code>输出你想要的结果了。但是，如果要让用户从电脑输入一些字符怎么办？Python提供了一个<code>raw_input</code>，可以让用户输入字符串，并存放到一个变量里。比如输入用户的名字：</p>
<pre><code>&gt;&gt;&gt; name = raw_input()
Michael
</code></pre><p>当你输入<code>name = raw_input()</code>并按下回车后，Python交互式命令行就在等待你的输入了。这时，你可以输入任意字符，然后按回车后完成输入。</p>
<p>输入完成后，不会有任何提示，Python交互式命令行又回到<code>&gt;&gt;&gt;</code>状态了。那我们刚才输入的内容到哪去了？答案是存放到<code>name</code>变量里了。可以直接输入<code>name</code>查看变量内容：</p>
<pre><code>&gt;&gt;&gt; name
&#39;Michael&#39;
</code></pre><p><strong>什么是变量？</strong>请回忆初中数学所学的代数基础知识：</p>
<p>设正方形的边长为<code>a</code>，则正方形的面积为<code>a x a</code>。把边长<code>a</code>看做一个变量，我们就可以根据<code>a</code>的值计算正方形的面积，比如：</p>
<p>若a=2，则面积为a x a = 2 x 2 = 4；</p>
<p>若a=3.5，则面积为a x a = 3.5 x 3.5 = 12.25。</p>
<p>在计算机程序中，变量不仅可以为整数或浮点数，还可以是字符串，因此，<code>name</code>作为一个变量就是一个字符串。</p>
<p>要打印出<code>name</code>变量的内容，除了直接写<code>name</code>然后按回车外，还可以用<code>print</code>语句：</p>
<pre><code>&gt;&gt;&gt; print name
Michael
</code></pre><p>有了输入和输出，我们就可以把上次打印<code>&#39;hello, world&#39;</code>的程序改成有点意义的程序了：</p>
<pre><code>name = raw_input()
print &#39;hello,&#39;, name
</code></pre><p>运行上面的程序，第一行代码会让用户输入任意字符作为自己的名字，然后存入<code>name</code>变量中；第二行代码会根据用户的名字向用户说<code>hello</code>，比如输入<code>Michael</code>：</p>
<pre><code>C:\Workspace&gt; python hello.py
Michael
hello, Michael
</code></pre><p>但是程序运行的时候，没有任何提示信息告诉用户：“嘿，赶紧输入你的名字”，这样显得很不友好。幸好，<code>raw_input</code>可以让你显示一个字符串来提示用户，于是我们把代码改成：</p>
<pre><code>name = raw_input(&#39;please enter your name: &#39;)
print &#39;hello,&#39;, name
</code></pre><p>再次运行这个程序，你会发现，程序一运行，会首先打印出<code>please enter your name:</code>，这样，用户就可以根据提示，输入名字后，得到<code>hello, xxx</code>的输出：</p>
<pre><code>C:\Workspace&gt; python hello.py
please enter your name: Michael
hello, Michael
</code></pre><p>每次运行该程序，根据用户输入的不同，输出结果也会不同。</p>
<p>在命令行下，输入和输出就是这么简单。</p>
<h3 id="-">小结</h3>
<p>任何计算机程序都是为了执行一个特定的任务，有了输入，用户才能告诉计算机程序所需的信息，有了输出，程序运行后才能告诉用户任务的结果。</p>
<p>输入是Input，输出是Output，因此，我们把输入输出统称为Input/Output，或者简写为IO。</p>
<p><code>raw_input</code>和<code>print</code>是在命令行下面最基本的输入和输出，但是，用户也可以通过其他更高级的图形界面完成输入和输出，比如，在网页上的一个文本框输入自己的名字，点击“确定”后在网页上看到输出信息。</p>
</div>

                    <hr style="border-top-color:#ccc" />

                    